import time
import unittest
from BeautifulReport import BeautifulReport as bf

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select


class ChromeTestCase(unittest.TestCase):
    """
    这是一个 Chrome 的 测试集
    """
    driver = None

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Firefox()

    def test_firefox(self):
        self.driver.get("file:///C:/Users/edz/Desktop/testhtml/exam/House.html")

        # 1 . 获取网页 的  标题名
        title = self.driver.title
        print("网页的标题名为：%s" % title)

        # 2. 获得网页的  url 资源路径
        url = self.driver.current_url
        print("网页当前所处的URL路径为：", url)

        # 3.  获得网页 标签的 文本值
        text = self.driver.find_elements(By.XPATH, "//option[2]")[0].text
        print("获得的标签的文本值为：" + text)

        # 4. 获得网页的 源代码
        page_source = self.driver.page_source
        print('网页的源代码为：', page_source)
        print('网页的源代码中是否包含Hanamaki：', page_source.__contains__('Hanamaki'))
        self.assertTrue(page_source.__contains__('Hanamaki'))  # 断言判断 表达式的结果是否为 真 如果是 就通过 反之 失败

        # 5. 获得元素的 标签名
        print("获得指定元素的标签名为：", self.driver.find_elements(By.XPATH, "//option[2]")[0].tag_name)

        #  6. 获得网页中指定属性的 属性的 值
        print("value属性的属性值为：", self.driver.find_elements(By.XPATH, "//option[2]")[0].get_attribute('value'))

    @classmethod
    def tearDownClass(cls):
        # cls.driver.close()
        pass


if __name__ == '__main__':
    pass
